import xml.dom.minidom
from xml.dom.minidom import Node


class Miembro:
	
	"""
		reporte es una lista de la clase Reporte
	"""
	
	def __init__(self):
		self.name = ""
		self.id = 0
		self.direccion_mac = ""
		self.nombre_dispositivo = ""
		self.reporte= []


class Reporte:
	
	def __init__(self):
		self.fecha=""
		self.asistio = False
		
class Grupo:
	
	"""
		m: lista de la clase Miembro
	"""
	def __init__(self, nombre = "", m = [], ide = 0,):
		self.miembros = m
		self.nombre = nombre
		self.id = ide
	

# Cargar configuraciones


def dar_grupo(archivo):
	"""
		Retorna una lista de grupos
	"""
	
	lista_grupos = []
	doc = xml.dom.minidom.parse(archivo)
	for node1 in doc.getElementsByTagName("CMP"):
		for node2 in doc.getElementsByTagName("Asistencia"):
			lista_grupos = []
			for node3 in doc.getElementsByTagName("Group"):
				nom = node3.getAttribute("name")
				iden = int(node3.getAttribute("id"))
				grupo = Grupo(nombre = nom, ide = iden)
				lista_miembros = []
				for node4 in doc.getElementsByTagName("memberlist"):
					for node5 in doc.getElementsByTagName("member"):
						#<member BTID="disp1" MAC="1234" memberid="1" name="admin"/>
						temp = Miembro()
						temp.name = node5.getAttribute("name")
						temp.direccion_mac = node5.getAttribute("MAC")
						temp.nombre_dispositivo = node5.getAttribute("BTID")
						temp.id = int(node5.getAttribute("memberid"))
						if (node5.parentNode==node4 and node4.parentNode==node3):
							lista_miembros.append(temp)
					grupo.miembros = lista_miembros
				lista_grupos.append(grupo)
	return lista_grupos
